package com.example.service;

import com.example.pojo.dto.BookDeleteDTO;
import com.example.pojo.dto.BookInsertDTO;
import com.example.pojo.dto.BookListDTO;
import com.example.pojo.dto.BookUpdateDTO;
import com.example.pojo.entity.result.PageResult;
import com.example.pojo.vo.BookListVO;
import com.example.pojo.vo.BookVO;

public interface BookService {
    /**
     * 图书入库
     *
     * @param bookInsertDTO
     */
    void insertBookWithCategory(BookInsertDTO bookInsertDTO);

    /**
     * 根据图书ID删除图书
     *
     * @param bookDeleteDTO
     */
    void deleteBook(BookDeleteDTO bookDeleteDTO);

    /**
     * 根据图书分类id分页查询图书列表
     *
     * @param bookListDTO
     * @return
     */
    PageResult<BookListVO> listByCategoryId(BookListDTO bookListDTO);

    /**
     * 根据图书编号查询图书信息
     *
     * @param id
     * @return
     */
    BookVO getById(String id);

    /**
     * 修改图书信息
     *
     * @param bookUpdateDTO
     */
    void updateById(BookUpdateDTO bookUpdateDTO);
}
